'C020c Moliwie prosty odczyt napicia z wejscia I0
$eeprom : Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144 , 255
Const Adr = 144 : Dim Jednostki As Byte , Dziesiatki As Byte , Setki As Byte
Dim Mux As Byte , A As Byte , Odczyt As Byte : Config Portb = 255 : Portb = 255
Portd = 127 : Config Portd = &B1111100 : Config Timer0 = Timer , Prescale = 64
Enable Interrupts : Enable Timer0 : On Timer0 Co4ms
Do : Loop : End                                               'to jest gwny program -  pusta nieskoczona ptla

Co4ms:
Gosub Odczytaj                                                'skok do procedury odczytu PCF8591
'Standardowa konwersja binarna 0...255 na trzycyfrow BCD:
A = Odczyt : If A < 100 Then : Setki = 10 : Else : A = A - 100
If A < 100 Then : Setki = 1 : Else : Setki = 2 : A = A - 100 : End If : End If
A = Makebcd(a) : Jednostki = A And 15 : Dziesiatki = A : Shift Dziesiatki , Right , 4
'Standardowa obsuga wywietlaczy:
Incr Mux : If Mux = 4 Then Mux = 0 : Portd = 127 : Select Case Mux : Case 0:
Readeeprom Portb , Jednostki : Portd.3 = 0 : Case 1 : : Readeeprom Portb , Dziesiatki
Portd.4 = 0 : Case 2 : : Readeeprom Portb , Setki : Portd.5 = 0 : Portb.7 = 0 : Case 3:
'Portb = &B01111011 : Portd.6 = 0       'na lewym  literka i z kropk
Portb = &B01100011 : Portd.6 = 0 : End Select : Return        'koniec procedury Co4ms

'poniej dwie alternatywne procedury dajce taki sam efekt:
Odczytaj:
Portb = 255                                                   'wygasza wywietlacze
I2cinit                                                       'umoliwia prac szyny
I2cstart                                                      'sygna startu magistrali I2C
I2cwbyte 145                                                  'wylij adres "odbiorczy" PCF8591
I2crbyte Odczyt , Nack                                        'z przetwornika do zmiennej Odczyt
I2cstop                                                       'sygna stopu magistrali I2C
Config Portd = &B1111100                                      'znw PD.5 i PD.6 s wyjciami
Return
'(
Odczytaj:
Portb = 255                                                   '    wygasza wywietlacze
I2cinit                                                       '    umoliwia prac szyny
I2creceive Adr , Odczyt                                       'zastpuje 4 "elementarne" polecenia
Config Portd = &B1111100                                      'znw PD.5 i PD.6 s wyjciami
Return
')